/*
 * Env.h
 *
 *  Created on: Jul 10, 2013
 *      Author: x
 */

#ifndef ENV_H_
#define ENV_H_
#include <string>
#include <sstream>
namespace mcce {

class Env {
public:
	int   monte_seed;
	float monte_temp;
	size_t   monte_flips;
	int   monte_nstart;
	int   monte_neq;
	float monte_reduce;

	int   monte_runs;
	int   monte_niter;
	int   monte_trace;
	int   nstate_max;

	std::string  titr_type;
	float titr_ph0;
	float titr_phd;
	float titr_eh0;
	float titr_ehd;
	int   titr_steps;

	float big_pairwise;

	float scale_vdw0;
	float scale_vdw1;
	float scale_vdw;
	float scale_tor;
	float scale_ele;
	float scale_dsolv;

	float mfe_cutoff;
	int   mfe_flag;
	float  mfe_point;

	int ms_out;

	std::string debug_log;
	std::string progress_log;
	std::string extra;


	Env();
	~Env();

	void loadFromRunprm(const std::string &fName="run.prm");

	void printEnv();
};


} /* namespace mcce */
#endif /* ENV_H_ */
